SON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于读取和写入,适用于人和机器。它建立在两个基本结构上:
- 一组 “名称 / 值” 对,在 GameMaker Studio 2 中称为 ds_map,但也称为 “字典” 或 “对象”。
- 一个有序的值列表,在 GameMaker Studio 2 中称为 ds_list,但这也可以称为 “数组” 或 “队列”。
json_encode takes a ds_map that you have previously created and encoded as a JSON string which you can then use as (for example) part of an http_post_string() call, or so it can be stored externally, written to a file.
NOTE: The hierarchal functionality of JSON is available through special ds_map and ds_list functions, so you are able to encode sub-lists and maps.
json_encode(map)
参数 | 描述 |
---|---|
map | 包含要编码的信息的ds_map |
string
var hiscore_map, i, str;
hiscore_map = ds_map_create();
for (i = 0; i < 10; i ++;)
{
ds_map_add(name[i], score[i]);
}
str = json_encode(hiscore_map);
get[0] = http_post_string("http://www.angusgames.com/game?game_id=" + string(global.game_id), str)
ds_map_destroy(hiscore_map);
上面的代码创建了一个 ds_map,然后循环遍历 name 和 score 数组,将每个键 / 值对添加到新映射中。 接下来,使用 json_encode 对此映射进行编码,并将其作为字符串存储在变量 “str” 中。 然后使用 http_post_string 将此字符串发送到 Web 服务器,并销毁 ds_map 以防止内存泄漏,因为不再需要它。